<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 4.2.1">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"lianyouli.gitee.io","root":"/","scheme":"Mist","version":"7.8.0","exturl":false,"sidebar":{"position":"right","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},"path":"search.xml"};
  </script>

  <meta name="description" content="Nifi集群HTTP模式安装时遇到的一些问题记录集 官网：Apache NiFi 集群配置文档：NiFi System Administrator’s Guide (apache.org)">
<meta property="og:type" content="article">
<meta property="og:title" content="Nifi集群安装">
<meta property="og:url" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/index.html">
<meta property="og:site_name" content="联友的Blog">
<meta property="og:description" content="Nifi集群HTTP模式安装时遇到的一些问题记录集 官网：Apache NiFi 集群配置文档：NiFi System Administrator’s Guide (apache.org)">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329211103224.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210938014.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329211029825.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182918332.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182857162.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182529892.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205623271.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205726775.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205954078.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210057852.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210340030.png">
<meta property="og:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210545997.png">
<meta property="article:published_time" content="2022-03-29T10:02:06.000Z">
<meta property="article:modified_time" content="2022-03-29T13:20:14.949Z">
<meta property="article:author" content="李联友">
<meta property="article:tag" content="bigdata">
<meta property="article:tag" content="dataflow">
<meta property="article:tag" content="nifi">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329211103224.png">

<link rel="canonical" href="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>Nifi集群安装 | 联友的Blog</title>
  


  <script>
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?eb9f10e46b1f09801805fc668f13d477";
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(hm, s);
    })();
  </script>




  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="联友的Blog" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">联友的Blog</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">密涅瓦的猫头鹰在黄昏起飞</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="main-menu menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>

  </li>
        <li class="menu-item menu-item-about">

    <a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签<span class="badge">25</span></a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类<span class="badge">8</span></a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档<span class="badge">31</span></a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://lianyouli.gitee.io/IT/it-bigdata-dataflow-nifi-cluster-installation/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/header.jpg">
      <meta itemprop="name" content="李联友">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="联友的Blog">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          Nifi集群安装
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
              

              <time title="创建时间：2022-03-29 18:02:06 / 修改时间：21:20:14" itemprop="dateCreated datePublished" datetime="2022-03-29T18:02:06+08:00">2022-03-29</time>
            </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-folder"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/IT/" itemprop="url" rel="index"><span itemprop="name">IT</span></a>
                </span>
            </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <blockquote>
<p>Nifi集群HTTP模式安装时遇到的一些问题记录集</p>
<p>官网：<a href="https://nifi.apache.org/index.html" target="_blank" rel="noopener">Apache NiFi</a></p>
<p>集群配置文档：<a href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#clustering" target="_blank" rel="noopener">NiFi System Administrator’s Guide (apache.org)</a></p>
</blockquote>
<a id="more"></a>

<h2 id="环境信息"><a href="#环境信息" class="headerlink" title="环境信息"></a>环境信息</h2><p><strong>nifi-1.5.3</strong></p>
<p><strong>Mac</strong></p>
<p><strong>JDK1.8</strong></p>
<p><img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329211103224.png" alt="image-20220329211103224"></p>
<h2 id="效果"><a href="#效果" class="headerlink" title="效果"></a>效果</h2><img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210938014.png" alt="image-20220329210938014" style="zoom:50%;">

<p><img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329211029825.png" alt="image-20220329211029825"></p>
<h2 id="配置"><a href="#配置" class="headerlink" title="配置"></a>配置</h2><h3 id="bin-nifi-env-sh"><a href="#bin-nifi-env-sh" class="headerlink" title="bin/nifi-env.sh"></a>bin/nifi-env.sh</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">export</span> JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-8.jdk/Contents/Home</span><br></pre></td></tr></table></figure>



<h3 id="conf-nifi-properties"><a href="#conf-nifi-properties" class="headerlink" title="conf/nifi.properties"></a>conf/nifi.properties</h3><ol>
<li><p>Site to Site properties<br>这里关闭了secure配置</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182918332.png" alt="image-20220329182918332" style="zoom:50%;">
</li>
<li><p>Web properties</p>
<p>这里http与https只能配置一个，因为我配置的是http，所以https注释了。</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182857162.png" alt="image-20220329182857162" style="zoom:50%;">
</li>
<li><p>security properties<br><strong>nifi.sensitive.props.key</strong>长度有要求，12位长度以上。</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329182529892.png" alt="image-20220329182529892" style="zoom:50%;">
</li>
<li><p>cluster common properties</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205623271.png" alt="image-20220329205623271" style="zoom:50%;">
</li>
<li><p>cluster node properties</p>
<p><strong>nifi.cluster.flow.election.max.wait.time</strong>和<strong>nifi.cluster.flow.election.max.candidates</strong>可以根据实际情况来设置，因为我这里只有一个节点。端口也按自己的情况设置。</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205726775.png" alt="image-20220329205726775" style="zoom:50%;">
</li>
<li><p>cluster load balancing properties</p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329205954078.png" alt="image-20220329205954078" style="zoom:50%;">
</li>
<li><p>zookeeper properties, used for cluster management </p>
<img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210057852.png" alt="image-20220329205954078" style="zoom:50%;">

</li>
</ol>
<figure class="highlight properties"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br><span class="line">243</span><br><span class="line">244</span><br><span class="line">245</span><br><span class="line">246</span><br><span class="line">247</span><br><span class="line">248</span><br><span class="line">249</span><br><span class="line">250</span><br><span class="line">251</span><br><span class="line">252</span><br><span class="line">253</span><br><span class="line">254</span><br><span class="line">255</span><br><span class="line">256</span><br><span class="line">257</span><br><span class="line">258</span><br><span class="line">259</span><br><span class="line">260</span><br><span class="line">261</span><br><span class="line">262</span><br><span class="line">263</span><br><span class="line">264</span><br><span class="line">265</span><br><span class="line">266</span><br><span class="line">267</span><br><span class="line">268</span><br><span class="line">269</span><br><span class="line">270</span><br><span class="line">271</span><br><span class="line">272</span><br><span class="line">273</span><br><span class="line">274</span><br><span class="line">275</span><br><span class="line">276</span><br><span class="line">277</span><br><span class="line">278</span><br><span class="line">279</span><br><span class="line">280</span><br><span class="line">281</span><br><span class="line">282</span><br><span class="line">283</span><br><span class="line">284</span><br><span class="line">285</span><br><span class="line">286</span><br><span class="line">287</span><br><span class="line">288</span><br><span class="line">289</span><br><span class="line">290</span><br><span class="line">291</span><br><span class="line">292</span><br><span class="line">293</span><br><span class="line">294</span><br><span class="line">295</span><br><span class="line">296</span><br><span class="line">297</span><br><span class="line">298</span><br><span class="line">299</span><br><span class="line">300</span><br><span class="line">301</span><br><span class="line">302</span><br><span class="line">303</span><br><span class="line">304</span><br><span class="line">305</span><br><span class="line">306</span><br><span class="line">307</span><br><span class="line">308</span><br><span class="line">309</span><br><span class="line">310</span><br><span class="line">311</span><br><span class="line">312</span><br><span class="line">313</span><br><span class="line">314</span><br><span class="line">315</span><br><span class="line">316</span><br><span class="line">317</span><br><span class="line">318</span><br><span class="line">319</span><br><span class="line">320</span><br><span class="line">321</span><br><span class="line">322</span><br><span class="line">323</span><br><span class="line">324</span><br><span class="line">325</span><br><span class="line">326</span><br><span class="line">327</span><br><span class="line">328</span><br><span class="line">329</span><br><span class="line">330</span><br><span class="line">331</span><br><span class="line">332</span><br><span class="line">333</span><br><span class="line">334</span><br><span class="line">335</span><br><span class="line">336</span><br><span class="line">337</span><br><span class="line">338</span><br><span class="line">339</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># Licensed to the Apache Software Foundation (ASF) under one or more</span></span><br><span class="line"><span class="comment"># contributor license agreements.  See the NOTICE file distributed with</span></span><br><span class="line"><span class="comment"># this work for additional information regarding copyright ownership.</span></span><br><span class="line"><span class="comment"># The ASF licenses this file to You under the Apache License, Version 2.0</span></span><br><span class="line"><span class="comment"># (the "License"); you may not use this file except in compliance with</span></span><br><span class="line"><span class="comment"># the License.  You may obtain a copy of the License at</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment">#     http://www.apache.org/licenses/LICENSE-2.0</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># Unless required by applicable law or agreed to in writing, software</span></span><br><span class="line"><span class="comment"># distributed under the License is distributed on an "AS IS" BASIS,</span></span><br><span class="line"><span class="comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></span><br><span class="line"><span class="comment"># See the License for the specific language governing permissions and</span></span><br><span class="line"><span class="comment"># limitations under the License.</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Core Properties #</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.file</span>=<span class="string">./conf/flow.xml.gz</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.archive.enabled</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.archive.dir</span>=<span class="string">./conf/archive/</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.archive.max.time</span>=<span class="string">30 days</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.archive.max.storage</span>=<span class="string">500 MB</span></span><br><span class="line"><span class="meta">nifi.flow.configuration.archive.max.count</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.flowcontroller.autoResumeState</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.flowcontroller.graceful.shutdown.period</span>=<span class="string">10 sec</span></span><br><span class="line"><span class="meta">nifi.flowservice.writedelay.interval</span>=<span class="string">500 ms</span></span><br><span class="line"><span class="meta">nifi.administrative.yield.duration</span>=<span class="string">30 sec</span></span><br><span class="line"><span class="comment"># If a component has no work to do (is "bored"), how long should we wait before checking again for work?</span></span><br><span class="line"><span class="meta">nifi.bored.yield.duration</span>=<span class="string">10 millis</span></span><br><span class="line"><span class="meta">nifi.queue.backpressure.count</span>=<span class="string">10000</span></span><br><span class="line"><span class="meta">nifi.queue.backpressure.size</span>=<span class="string">1 GB</span></span><br><span class="line"></span><br><span class="line"><span class="meta">nifi.authorizer.configuration.file</span>=<span class="string">./conf/authorizers.xml</span></span><br><span class="line"><span class="meta">nifi.login.identity.provider.configuration.file</span>=<span class="string">./conf/login-identity-providers.xml</span></span><br><span class="line"><span class="meta">nifi.templates.directory</span>=<span class="string">./conf/templates</span></span><br><span class="line"><span class="meta">nifi.ui.banner.text</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.ui.autorefresh.interval</span>=<span class="string">30 sec</span></span><br><span class="line"><span class="meta">nifi.nar.library.directory</span>=<span class="string">./lib</span></span><br><span class="line"><span class="meta">nifi.nar.library.autoload.directory</span>=<span class="string">./extensions</span></span><br><span class="line"><span class="meta">nifi.nar.working.directory</span>=<span class="string">./work/nar/</span></span><br><span class="line"><span class="meta">nifi.documentation.working.directory</span>=<span class="string">./work/docs/components</span></span><br><span class="line"></span><br><span class="line"><span class="comment">####################</span></span><br><span class="line"><span class="comment"># State Management #</span></span><br><span class="line"><span class="comment">####################</span></span><br><span class="line"><span class="meta">nifi.state.management.configuration.file</span>=<span class="string">./conf/state-management.xml</span></span><br><span class="line"><span class="comment"># The ID of the local state provider</span></span><br><span class="line"><span class="meta">nifi.state.management.provider.local</span>=<span class="string">local-provider</span></span><br><span class="line"><span class="comment"># The ID of the cluster-wide state provider. This will be ignored if NiFi is not clustered but must be populated if running in a cluster.</span></span><br><span class="line"><span class="meta">nifi.state.management.provider.cluster</span>=<span class="string">zk-provider</span></span><br><span class="line"><span class="comment"># Specifies whether or not this instance of NiFi should run an embedded ZooKeeper server</span></span><br><span class="line"><span class="meta">nifi.state.management.embedded.zookeeper.start</span>=<span class="string">true</span></span><br><span class="line"><span class="comment"># Properties file that provides the ZooKeeper properties to use if &lt;nifi.state.management.embedded.zookeeper.start&gt; is set to true</span></span><br><span class="line"><span class="meta">nifi.state.management.embedded.zookeeper.properties</span>=<span class="string">./conf/zookeeper.properties</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># H2 Settings</span></span><br><span class="line"><span class="meta">nifi.database.directory</span>=<span class="string">./database_repository</span></span><br><span class="line"><span class="meta">nifi.h2.url.append</span>=<span class="string">;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Repository Encryption properties override individual repository implementation properties</span></span><br><span class="line"><span class="meta">nifi.repository.encryption.protocol.version</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.repository.encryption.key.id</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.repository.encryption.key.provider</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.repository.encryption.key.provider.keystore.location</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.repository.encryption.key.provider.keystore.password</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># FlowFile Repository</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.implementation</span>=<span class="string">org.apache.nifi.controller.repository.WriteAheadFlowFileRepository</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.wal.implementation</span>=<span class="string">org.apache.nifi.wali.SequentialAccessWriteAheadLog</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.directory</span>=<span class="string">./flowfile_repository</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.checkpoint.interval</span>=<span class="string">20 secs</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.always.sync</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.flowfile.repository.retain.orphaned.flowfiles</span>=<span class="string">true</span></span><br><span class="line"></span><br><span class="line"><span class="meta">nifi.swap.manager.implementation</span>=<span class="string">org.apache.nifi.controller.FileSystemSwapManager</span></span><br><span class="line"><span class="meta">nifi.queue.swap.threshold</span>=<span class="string">20000</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Content Repository</span></span><br><span class="line"><span class="meta">nifi.content.repository.implementation</span>=<span class="string">org.apache.nifi.controller.repository.FileSystemRepository</span></span><br><span class="line"><span class="meta">nifi.content.claim.max.appendable.size</span>=<span class="string">1 MB</span></span><br><span class="line"><span class="meta">nifi.content.repository.directory.default</span>=<span class="string">./content_repository</span></span><br><span class="line"><span class="meta">nifi.content.repository.archive.max.retention.period</span>=<span class="string">7 days</span></span><br><span class="line"><span class="meta">nifi.content.repository.archive.max.usage.percentage</span>=<span class="string">50%</span></span><br><span class="line"><span class="meta">nifi.content.repository.archive.enabled</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.content.repository.always.sync</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.content.viewer.url</span>=<span class="string">../nifi-content-viewer/</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Provenance Repository Properties</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.implementation</span>=<span class="string">org.apache.nifi.provenance.WriteAheadProvenanceRepository</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Persistent Provenance Repository Properties</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.directory.default</span>=<span class="string">./provenance_repository</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.max.storage.time</span>=<span class="string">30 days</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.max.storage.size</span>=<span class="string">10 GB</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.rollover.time</span>=<span class="string">10 mins</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.rollover.size</span>=<span class="string">100 MB</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.query.threads</span>=<span class="string">2</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.index.threads</span>=<span class="string">2</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.compress.on.rollover</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.always.sync</span>=<span class="string">false</span></span><br><span class="line"><span class="comment"># Comma-separated list of fields. Fields that are not indexed will not be searchable. Valid fields are:</span></span><br><span class="line"><span class="comment"># EventType, FlowFileUUID, Filename, TransitURI, ProcessorID, AlternateIdentifierURI, Relationship, Details</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.indexed.fields</span>=<span class="string">EventType, FlowFileUUID, Filename, ProcessorID, Relationship</span></span><br><span class="line"><span class="comment"># FlowFile Attributes that should be indexed and made searchable.  Some examples to consider are filename, uuid, mime.type</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.indexed.attributes</span>=<span class="string"></span></span><br><span class="line"><span class="comment"># Large values for the shard size will result in more Java heap usage when searching the Provenance Repository</span></span><br><span class="line"><span class="comment"># but should provide better performance</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.index.shard.size</span>=<span class="string">500 MB</span></span><br><span class="line"><span class="comment"># Indicates the maximum length that a FlowFile attribute can be when retrieving a Provenance Event from</span></span><br><span class="line"><span class="comment"># the repository. If the length of any attribute exceeds this value, it will be truncated when the event is retrieved.</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.max.attribute.length</span>=<span class="string">65536</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.concurrent.merge.threads</span>=<span class="string">2</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="comment"># Volatile Provenance Respository Properties</span></span><br><span class="line"><span class="meta">nifi.provenance.repository.buffer.size</span>=<span class="string">100000</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Component and Node Status History Repository</span></span><br><span class="line"><span class="meta">nifi.components.status.repository.implementation</span>=<span class="string">org.apache.nifi.controller.status.history.VolatileComponentStatusRepository</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Volatile Status History Repository Properties</span></span><br><span class="line"><span class="meta">nifi.components.status.repository.buffer.size</span>=<span class="string">1440</span></span><br><span class="line"><span class="meta">nifi.components.status.snapshot.frequency</span>=<span class="string">1 min</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># QuestDB Status History Repository Properties</span></span><br><span class="line"><span class="meta">nifi.status.repository.questdb.persist.node.days</span>=<span class="string">14</span></span><br><span class="line"><span class="meta">nifi.status.repository.questdb.persist.component.days</span>=<span class="string">3</span></span><br><span class="line"><span class="meta">nifi.status.repository.questdb.persist.location</span>=<span class="string">./status_repository</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Site to Site properties</span></span><br><span class="line"><span class="meta">nifi.remote.input.host</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.remote.input.secure</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.remote.input.socket.port</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.remote.input.http.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.remote.input.http.transaction.ttl</span>=<span class="string">30 sec</span></span><br><span class="line"><span class="meta">nifi.remote.contents.cache.expiration</span>=<span class="string">30 secs</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># web properties #</span></span><br><span class="line"><span class="comment">#############################################</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># For security, NiFi will present the UI on 127.0.0.1 and only be accessible through this loopback interface.</span></span><br><span class="line"><span class="comment"># Be aware that changing these properties may affect how your instance can be accessed without any restriction.</span></span><br><span class="line"><span class="comment"># We recommend configuring HTTPS instead. The administrators guide provides instructions on how to do this.</span></span><br><span class="line"></span><br><span class="line"><span class="meta">nifi.web.http.host</span>=<span class="string">sleety.local</span></span><br><span class="line"><span class="meta">nifi.web.http.port</span>=<span class="string">18001</span></span><br><span class="line"><span class="meta">nifi.web.http.network.interface.default</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment">#############################################</span></span><br><span class="line"></span><br><span class="line"><span class="meta">nifi.web.https.host</span>=<span class="string"></span></span><br><span class="line"><span class="comment"># 127.0.0.1</span></span><br><span class="line"><span class="meta">nifi.web.https.port</span>=<span class="string"></span></span><br><span class="line"><span class="comment"># 8443</span></span><br><span class="line"><span class="meta">nifi.web.https.network.interface.default</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.jetty.working.directory</span>=<span class="string">./work/jetty</span></span><br><span class="line"><span class="meta">nifi.web.jetty.threads</span>=<span class="string">200</span></span><br><span class="line"><span class="meta">nifi.web.max.header.size</span>=<span class="string">16 KB</span></span><br><span class="line"><span class="meta">nifi.web.proxy.context.path</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.proxy.host</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.max.content.size</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.max.requests.per.second</span>=<span class="string">30000</span></span><br><span class="line"><span class="meta">nifi.web.max.access.token.requests.per.second</span>=<span class="string">25</span></span><br><span class="line"><span class="meta">nifi.web.request.timeout</span>=<span class="string">60 secs</span></span><br><span class="line"><span class="meta">nifi.web.request.ip.whitelist</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.should.send.server.version</span>=<span class="string">true</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Include or Exclude TLS Cipher Suites for HTTPS</span></span><br><span class="line"><span class="meta">nifi.web.https.ciphersuites.include</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.web.https.ciphersuites.exclude</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># security properties #</span></span><br><span class="line"><span class="meta">nifi.sensitive.props.key</span>=<span class="string">youchangeitok</span></span><br><span class="line"><span class="meta">nifi.sensitive.props.key.protected</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.sensitive.props.algorithm</span>=<span class="string">NIFI_PBKDF2_AES_GCM_256</span></span><br><span class="line"><span class="meta">nifi.sensitive.props.additional.keys</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="meta">nifi.security.autoreload.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.autoreload.interval</span>=<span class="string">10 secs</span></span><br><span class="line"><span class="meta">nifi.security.keystore</span>=<span class="string">./conf/keystore.p12</span></span><br><span class="line"><span class="meta">nifi.security.keystoreType</span>=<span class="string">PKCS12</span></span><br><span class="line"><span class="meta">nifi.security.keystorePasswd</span>=<span class="string">67cee0ed3aba2755de751ff0ac5380fb</span></span><br><span class="line"><span class="meta">nifi.security.keyPasswd</span>=<span class="string">67cee0ed3aba2755de751ff0ac5380fb</span></span><br><span class="line"><span class="meta">nifi.security.truststore</span>=<span class="string">./conf/truststore.p12</span></span><br><span class="line"><span class="meta">nifi.security.truststoreType</span>=<span class="string">PKCS12</span></span><br><span class="line"><span class="meta">nifi.security.truststorePasswd</span>=<span class="string">797877f1ba3bd64380f7f15494ac12ec</span></span><br><span class="line"><span class="meta">nifi.security.user.authorizer</span>=<span class="string">single-user-authorizer</span></span><br><span class="line"><span class="meta">nifi.security.allow.anonymous.authentication</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.user.login.identity.provider</span>=<span class="string">single-user-provider</span></span><br><span class="line"><span class="meta">nifi.security.user.jws.key.rotation.period</span>=<span class="string">PT1H</span></span><br><span class="line"><span class="meta">nifi.security.ocsp.responder.url</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.ocsp.responder.certificate</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># OpenId Connect SSO Properties #</span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.discovery.url</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.connect.timeout</span>=<span class="string">5 secs</span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.read.timeout</span>=<span class="string">5 secs</span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.client.id</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.client.secret</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.preferred.jwsalgorithm</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.additional.scopes</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.claim.identifying.user</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.oidc.fallback.claims.identifying.user</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Apache Knox SSO Properties #</span></span><br><span class="line"><span class="meta">nifi.security.user.knox.url</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.knox.publicKey</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.knox.cookieName</span>=<span class="string">hadoop-jwt</span></span><br><span class="line"><span class="meta">nifi.security.user.knox.audiences</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># SAML Properties #</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.idp.metadata.url</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.saml.sp.entity.id</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.saml.identity.attribute.name</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.saml.group.attribute.name</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.security.user.saml.metadata.signing.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.request.signing.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.want.assertions.signed</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.signature.algorithm</span>=<span class="string">http://www.w3.org/2001/04/xmldsig-more#rsa-sha256</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.signature.digest.algorithm</span>=<span class="string">http://www.w3.org/2001/04/xmlenc#sha256</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.message.logging.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.authentication.expiration</span>=<span class="string">12 hours</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.single.logout.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.http.client.truststore.strategy</span>=<span class="string">JDK</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.http.client.connect.timeout</span>=<span class="string">30 secs</span></span><br><span class="line"><span class="meta">nifi.security.user.saml.http.client.read.timeout</span>=<span class="string">30 secs</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Identity Mapping Properties #</span></span><br><span class="line"><span class="comment"># These properties allow normalizing user identities such that identities coming from different identity providers</span></span><br><span class="line"><span class="comment"># (certificates, LDAP, Kerberos) can be treated the same internally in NiFi. The following example demonstrates normalizing</span></span><br><span class="line"><span class="comment"># DNs from certificates and principals from Kerberos into a common identity string:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.pattern.dn=^CN=(.*?), OU=(.*?), O=(.*?), L=(.*?), ST=(.*?), C=(.*?)$</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.value.dn=$1@$2</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.transform.dn=NONE</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.pattern.kerb=^(.*?)/instance@(.*?)$</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.value.kerb=$1@$2</span></span><br><span class="line"><span class="comment"># nifi.security.identity.mapping.transform.kerb=UPPER</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Group Mapping Properties #</span></span><br><span class="line"><span class="comment"># These properties allow normalizing group names coming from external sources like LDAP. The following example</span></span><br><span class="line"><span class="comment"># lowercases any group name.</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># nifi.security.group.mapping.pattern.anygroup=^(.*)$</span></span><br><span class="line"><span class="comment"># nifi.security.group.mapping.value.anygroup=$1</span></span><br><span class="line"><span class="comment"># nifi.security.group.mapping.transform.anygroup=LOWER</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># cluster common properties (all nodes must have same values) #</span></span><br><span class="line"><span class="meta">nifi.cluster.protocol.heartbeat.interval</span>=<span class="string">5 sec</span></span><br><span class="line"><span class="meta">nifi.cluster.protocol.heartbeat.missable.max</span>=<span class="string">8</span></span><br><span class="line"><span class="meta">nifi.cluster.protocol.is.secure</span>=<span class="string">false</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># cluster node properties (only configure for cluster nodes) #</span></span><br><span class="line"><span class="meta">nifi.cluster.is.node</span>=<span class="string">true</span></span><br><span class="line"><span class="meta">nifi.cluster.node.address</span>=<span class="string">sleety.local</span></span><br><span class="line"><span class="meta">nifi.cluster.node.protocol.port</span>=<span class="string">28001</span></span><br><span class="line"><span class="meta">nifi.cluster.node.protocol.max.threads</span>=<span class="string">50</span></span><br><span class="line"><span class="meta">nifi.cluster.node.event.history.size</span>=<span class="string">25</span></span><br><span class="line"><span class="meta">nifi.cluster.node.connection.timeout</span>=<span class="string">5 sec</span></span><br><span class="line"><span class="meta">nifi.cluster.node.read.timeout</span>=<span class="string">5 sec</span></span><br><span class="line"><span class="meta">nifi.cluster.node.max.concurrent.requests</span>=<span class="string">100</span></span><br><span class="line"><span class="meta">nifi.cluster.firewall.file</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.cluster.flow.election.max.wait.time</span>=<span class="string">1 mins</span></span><br><span class="line"><span class="meta">nifi.cluster.flow.election.max.candidates</span>=<span class="string">1</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># cluster load balancing properties #</span></span><br><span class="line"><span class="meta">nifi.cluster.load.balance.host</span>=<span class="string">sleety.local</span></span><br><span class="line"><span class="meta">nifi.cluster.load.balance.port</span>=<span class="string">6342</span></span><br><span class="line"><span class="meta">nifi.cluster.load.balance.connections.per.node</span>=<span class="string">1</span></span><br><span class="line"><span class="meta">nifi.cluster.load.balance.max.thread.count</span>=<span class="string">8</span></span><br><span class="line"><span class="meta">nifi.cluster.load.balance.comms.timeout</span>=<span class="string">30 sec</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># zookeeper properties, used for cluster management #</span></span><br><span class="line"><span class="meta">nifi.zookeeper.connect.string</span>=<span class="string">sleety.local:12181</span></span><br><span class="line"><span class="meta">nifi.zookeeper.connect.timeout</span>=<span class="string">10 secs</span></span><br><span class="line"><span class="meta">nifi.zookeeper.session.timeout</span>=<span class="string">10 secs</span></span><br><span class="line"><span class="meta">nifi.zookeeper.root.node</span>=<span class="string">/nifi</span></span><br><span class="line"><span class="meta">nifi.zookeeper.client.secure</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.keystore</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.keystoreType</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.keystorePasswd</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.truststore</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.truststoreType</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.security.truststorePasswd</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.jute.maxbuffer</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Zookeeper properties for the authentication scheme used when creating acls on znodes used for cluster management</span></span><br><span class="line"><span class="comment"># Values supported for nifi.zookeeper.auth.type are "default", which will apply world/anyone rights on znodes</span></span><br><span class="line"><span class="comment"># and "sasl" which will give rights to the sasl/kerberos identity used to authenticate the nifi node</span></span><br><span class="line"><span class="comment"># The identity is determined using the value in nifi.kerberos.service.principal and the removeHostFromPrincipal</span></span><br><span class="line"><span class="comment"># and removeRealmFromPrincipal values (which should align with the kerberos.removeHostFromPrincipal and kerberos.removeRealmFromPrincipal</span></span><br><span class="line"><span class="comment"># values configured on the zookeeper server).</span></span><br><span class="line"><span class="meta">nifi.zookeeper.auth.type</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.kerberos.removeHostFromPrincipal</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.zookeeper.kerberos.removeRealmFromPrincipal</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># kerberos #</span></span><br><span class="line"><span class="meta">nifi.kerberos.krb5.file</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># kerberos service principal #</span></span><br><span class="line"><span class="meta">nifi.kerberos.service.principal</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.kerberos.service.keytab.location</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># kerberos spnego principal #</span></span><br><span class="line"><span class="meta">nifi.kerberos.spnego.principal</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.kerberos.spnego.keytab.location</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.kerberos.spnego.authentication.expiration</span>=<span class="string">12 hours</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># external properties files for variable registry</span></span><br><span class="line"><span class="comment"># supports a comma delimited list of file locations</span></span><br><span class="line"><span class="meta">nifi.variable.registry.properties</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># analytics properties #</span></span><br><span class="line"><span class="meta">nifi.analytics.predict.enabled</span>=<span class="string">false</span></span><br><span class="line"><span class="meta">nifi.analytics.predict.interval</span>=<span class="string">3 mins</span></span><br><span class="line"><span class="meta">nifi.analytics.query.interval</span>=<span class="string">5 mins</span></span><br><span class="line"><span class="meta">nifi.analytics.connection.model.implementation</span>=<span class="string">org.apache.nifi.controller.status.analytics.models.OrdinaryLeastSquares</span></span><br><span class="line"><span class="meta">nifi.analytics.connection.model.score.name</span>=<span class="string">rSquared</span></span><br><span class="line"><span class="meta">nifi.analytics.connection.model.score.threshold</span>=<span class="string">.90</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># runtime monitoring properties</span></span><br><span class="line"><span class="meta">nifi.monitor.long.running.task.schedule</span>=<span class="string"></span></span><br><span class="line"><span class="meta">nifi.monitor.long.running.task.threshold</span>=<span class="string"></span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Create automatic diagnostics when stopping/restarting NiFi.</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Enable automatic diagnostic at shutdown.</span></span><br><span class="line"><span class="meta">nifi.diagnostics.on.shutdown.enabled</span>=<span class="string">false</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Include verbose diagnostic information.</span></span><br><span class="line"><span class="meta">nifi.diagnostics.on.shutdown.verbose</span>=<span class="string">false</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># The location of the diagnostics folder.</span></span><br><span class="line"><span class="meta">nifi.diagnostics.on.shutdown.directory</span>=<span class="string">./diagnostics</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># The maximum number of files permitted in the directory. If the limit is exceeded, the oldest files are deleted.</span></span><br><span class="line"><span class="meta">nifi.diagnostics.on.shutdown.max.filecount</span>=<span class="string">10</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># The diagnostics folder's maximum permitted size in bytes. If the limit is exceeded, the oldest files are deleted.</span></span><br><span class="line"><span class="meta">nifi.diagnostics.on.shutdown.max.directory.size</span>=<span class="string">10 MB</span></span><br></pre></td></tr></table></figure>







<h3 id="conf-zookeeper-properties"><a href="#conf-zookeeper-properties" class="headerlink" title="conf/zookeeper.properties"></a>conf/zookeeper.properties</h3><p>端口和servers配置<br><img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210340030.png" alt="image-20220329210340030" style="zoom:50%;"></p>
<figure class="highlight properties"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="attr">clientPort</span>=<span class="string">12181</span></span><br><span class="line"><span class="attr">initLimit</span>=<span class="string">10</span></span><br><span class="line"><span class="meta">autopurge.purgeInterval</span>=<span class="string">24</span></span><br><span class="line"><span class="attr">syncLimit</span>=<span class="string">5</span></span><br><span class="line"><span class="attr">tickTime</span>=<span class="string">2000</span></span><br><span class="line"><span class="attr">dataDir</span>=<span class="string">./state/zookeeper</span></span><br><span class="line"><span class="meta">autopurge.snapRetainCount</span>=<span class="string">30</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Embedded/distributed ZK TLS connection support can be activated by setting these properties at minimum:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># secureClientPort=2281</span></span><br><span class="line"><span class="comment"># serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Most TLS configurations will set these values as well:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># ssl.keyStore.location=/example/path/to/key-store.jks</span></span><br><span class="line"><span class="comment"># ssl.keyStore.password=change this value to the actual value in your installation</span></span><br><span class="line"><span class="comment"># ssl.trustStore.location=/example/path/to/trust-store.jks</span></span><br><span class="line"><span class="comment"># ssl.trustStore.password=change this value to the actual value in your installation</span></span><br><span class="line"><span class="comment"># ssl.hostnameVerification=false</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># Note that many ZK parameters can set as Java system properties, refer to the ZK admin guide for details:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_configuration</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Other common settings:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># client.portUnification=true</span></span><br><span class="line"><span class="comment"># admin.enableServer=false</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string:</span></span><br><span class="line"><span class="comment"># https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># Specifies the servers that are part of this zookeeper ensemble. For</span></span><br><span class="line"><span class="comment"># every NiFi instance running an embedded zookeeper, there needs to be</span></span><br><span class="line"><span class="comment"># a server entry below. Client port is now specified at the end of the string</span></span><br><span class="line"><span class="comment"># after a semi-colon.</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># For instance:</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># server.1=nifi-node1-hostname:2888:3888;2181</span></span><br><span class="line"><span class="comment"># server.2=nifi-node2-hostname:2888:3888;2181</span></span><br><span class="line"><span class="comment"># server.3=nifi-node3-hostname:2888:3888;2181</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># The index of the server corresponds to the myid file that gets created</span></span><br><span class="line"><span class="comment"># in the dataDir of each node running an embedded zookeeper. See the</span></span><br><span class="line"><span class="comment"># administration guide for more details.</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"></span><br><span class="line"><span class="meta">server.1</span>=<span class="string">sleety.local:12888:13888;12181</span></span><br></pre></td></tr></table></figure>



<h3 id="conf-state-management-xml"><a href="#conf-state-management-xml" class="headerlink" title="conf/state-management.xml"></a>conf/state-management.xml</h3><p>配置zk-provider<br><img src="/IT/it-bigdata-dataflow-nifi-cluster-installation/image-20220329210545997.png" alt="image-20220329210545997" style="zoom:50%;"></p>
<figure class="highlight properties"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">&lt;?xml</span> <span class="string">version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span></span><br><span class="line"><span class="attr">&lt;!--</span></span><br><span class="line">  <span class="attr">Licensed</span> <span class="string">to the Apache Software Foundation (ASF) under one or more</span></span><br><span class="line">  <span class="attr">contributor</span> <span class="string">license agreements.  See the NOTICE file distributed with</span></span><br><span class="line">  <span class="attr">this</span> <span class="string">work for additional information regarding copyright ownership.</span></span><br><span class="line">  <span class="attr">The</span> <span class="string">ASF licenses this file to You under the Apache License, Version 2.0</span></span><br><span class="line">  <span class="meta">(the</span> <span class="string">"License"); you may not use this file except in compliance with</span></span><br><span class="line">  <span class="attr">the</span> <span class="string">License.  You may obtain a copy of the License at</span></span><br><span class="line">      <span class="attr">http</span>:<span class="string">//www.apache.org/licenses/LICENSE-2.0</span></span><br><span class="line">  <span class="attr">Unless</span> <span class="string">required by applicable law or agreed to in writing, software</span></span><br><span class="line">  <span class="attr">distributed</span> <span class="string">under the License is distributed on an "AS IS" BASIS,</span></span><br><span class="line">  <span class="attr">WITHOUT</span> <span class="string">WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></span><br><span class="line">  <span class="attr">See</span> <span class="string">the License for the specific language governing permissions and</span></span><br><span class="line">  <span class="attr">limitations</span> <span class="string">under the License.</span></span><br><span class="line"><span class="attr">--&gt;</span></span><br><span class="line"><span class="attr">&lt;!--</span></span><br><span class="line">  <span class="attr">This</span> <span class="string">file provides a mechanism for defining and configuring the State Providers</span></span><br><span class="line">  <span class="attr">that</span> <span class="string">should be used for storing state locally and across a NiFi cluster. In order</span></span><br><span class="line">  <span class="attr">to</span> <span class="string">use a specific provider, it must be configured here and its identifier</span></span><br><span class="line">  <span class="attr">must</span> <span class="string">be specified in the nifi.properties file.</span></span><br><span class="line"><span class="attr">--&gt;</span></span><br><span class="line"><span class="attr">&lt;stateManagement&gt;</span></span><br><span class="line">    <span class="attr">&lt;!--</span></span><br><span class="line">        <span class="attr">State</span> <span class="string">Provider that stores state locally in a configurable directory. This Provider requires the following properties:</span></span><br><span class="line">        </span><br><span class="line">        <span class="attr">Directory</span> <span class="string">- the directory to store components' state in. If the directory being used is a sub-directory of the NiFi installation, it</span></span><br><span class="line">                    <span class="attr">is</span> <span class="string">important that the directory be copied over to the new version when upgrading NiFi.</span></span><br><span class="line">        <span class="attr">Always</span> <span class="string">Sync - If set to true, any change to the repository will be synchronized to the disk, meaning that NiFi will ask the operating system not to cache the information. This is very</span></span><br><span class="line">                <span class="attr">expensive</span> <span class="string">and can significantly reduce NiFi performance. However, if it is false, there could be the potential for data loss if either there is a sudden power loss or the</span></span><br><span class="line">                <span class="attr">operating</span> <span class="string">system crashes. The default value is false.</span></span><br><span class="line">        <span class="attr">Partitions</span> <span class="string">- The number of partitions.</span></span><br><span class="line">        <span class="attr">Checkpoint</span> <span class="string">Interval - The amount of time between checkpoints.</span></span><br><span class="line">     <span class="attr">--&gt;</span></span><br><span class="line">    <span class="attr">&lt;local-provider&gt;</span></span><br><span class="line">        <span class="attr">&lt;id&gt;local-provider&lt;/id&gt;</span></span><br><span class="line">        <span class="attr">&lt;class&gt;org.apache.nifi.controller.state.providers.local.WriteAheadLocalStateProvider&lt;/class&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Directory"&gt;./state/local&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Always Sync"&gt;false&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Partitions"&gt;16&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Checkpoint Interval"&gt;2 mins&lt;/property&gt;</span></span><br><span class="line">    <span class="attr">&lt;/local-provider&gt;</span></span><br><span class="line"></span><br><span class="line">    <span class="attr">&lt;!--</span></span><br><span class="line">        <span class="attr">State</span> <span class="string">Provider that is used to store state in ZooKeeper. This Provider requires the following properties:</span></span><br><span class="line">        </span><br><span class="line">        <span class="attr">Root</span> <span class="string">Node - the root node in ZooKeeper where state should be stored. The default is '/nifi', but it is advisable to change this to a different value if not using</span></span><br><span class="line">                   <span class="attr">the</span> <span class="string">embedded ZooKeeper server and if multiple NiFi instances may all be using the same ZooKeeper Server.</span></span><br><span class="line">                   </span><br><span class="line">        <span class="attr">Connect</span> <span class="string">String - A comma-separated list of host:port pairs to connect to ZooKeeper. For example, myhost.mydomain:2181,host2.mydomain:5555,host3:6666</span></span><br><span class="line">        </span><br><span class="line">        <span class="attr">Session</span> <span class="string">Timeout - Specifies how long this instance of NiFi is allowed to be disconnected from ZooKeeper before creating a new ZooKeeper Session. Default value is "30 seconds"</span></span><br><span class="line">        </span><br><span class="line">        <span class="attr">Access</span> <span class="string">Control - Specifies which Access Controls will be applied to the ZooKeeper ZNodes that are created by this State Provider. This value must be set to one of:</span></span><br><span class="line">                            <span class="meta">-</span> <span class="string">Open  : ZNodes will be open to any ZooKeeper client.</span></span><br><span class="line">                            <span class="meta">-</span> <span class="string">CreatorOnly  : ZNodes will be accessible only by the creator. The creator will have full access to create children, read, write, delete, and administer the ZNodes.</span></span><br><span class="line">                                             <span class="attr">This</span> <span class="string">option is available only if access to ZooKeeper is secured via Kerberos or if a Username and Password are set.</span></span><br><span class="line">    <span class="attr">--&gt;</span></span><br><span class="line">    <span class="attr">&lt;cluster-provider&gt;</span></span><br><span class="line">        <span class="attr">&lt;id&gt;zk-provider&lt;/id&gt;</span></span><br><span class="line">        <span class="attr">&lt;class&gt;org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider&lt;/class&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Connect String"&gt;sleety.local:12181&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Root Node"&gt;/nifi&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Session Timeout"&gt;10 seconds&lt;/property&gt;</span></span><br><span class="line">        <span class="meta">&lt;property</span> <span class="string">name="Access Control"&gt;Open&lt;/property&gt;</span></span><br><span class="line">    <span class="attr">&lt;/cluster-provider&gt;</span></span><br><span class="line"></span><br><span class="line">    <span class="attr">&lt;!--</span></span><br><span class="line">        <span class="attr">Cluster</span> <span class="string">State Provider that stores state in Redis. This can be used as an alternative to the ZooKeeper State Provider.</span></span><br><span class="line"></span><br><span class="line">        <span class="attr">This</span> <span class="string">provider requires the following properties:</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Redis</span> <span class="string">Mode - The type of Redis instance:</span></span><br><span class="line">                            <span class="meta">-</span> <span class="string">Standalone</span></span><br><span class="line">                            <span class="meta">-</span> <span class="string">Sentinel</span></span><br><span class="line">                            <span class="meta">-</span> <span class="string">Cluster (currently not supported for state-management due to use of WATCH command which Redis does not support in clustered mode)</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Connection</span> <span class="string">String - The connection string for Redis.</span></span><br><span class="line">                        <span class="meta">-</span> <span class="string">In a standalone instance this value will be of the form hostname:port.</span></span><br><span class="line">                        <span class="meta">-</span> <span class="string">In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3.</span></span><br><span class="line">                        <span class="meta">-</span> <span class="string">In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.</span></span><br><span class="line"></span><br><span class="line">        <span class="attr">This</span> <span class="string">provider has the following optional properties:</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Key</span> <span class="string">Prefix - The prefix for each key stored by this state provider. When sharing a single Redis across multiple NiFi instances, setting a unique</span></span><br><span class="line">                        <span class="attr">value</span> <span class="string">for the Key Prefix will make it easier to identify which instances the keys came from (default nifi/components/).</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Database</span> <span class="string">Index - The database index to be used by connections created from this connection pool.</span></span><br><span class="line">                        <span class="attr">See</span> <span class="string">the databases property in redis.conf, by default databases 0-15 will be available.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Communication</span> <span class="string">Timeout - The timeout to use when attempting to communicate with Redis.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Cluster</span> <span class="string">Max Redirects - The maximum number of redirects that can be performed when clustered.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Sentinel</span> <span class="string">Master - The name of the sentinel master, require when Mode is set to Sentinel.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Password</span> <span class="string">- The password used to authenticate to the Redis server. See the requirepass property in redis.conf.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Enable</span> <span class="string">TLS - If true, the Redis connection will be configured to use TLS, using the keystore and truststore settings configured in</span></span><br><span class="line">                    <span class="meta">nifi.properties.</span>  <span class="string">This means that a TLS-enabled Redis connection is only possible if the Apache NiFi instance is running in secure mode.</span></span><br><span class="line">                    <span class="attr">If</span> <span class="string">this property is false, an insecure Redis connection will be used even if the Apache NiFi instance is secure (default false).</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Max Total - The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout).</span></span><br><span class="line">                        <span class="attr">A</span> <span class="string">negative value indicates that there is no limit.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Max Idle - The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Min Idle - The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is</span></span><br><span class="line">                    <span class="attr">greater</span> <span class="string">than the configured value for Max Idle, then the value of Max Idle will be used instead.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Block When Exhausted - Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool</span></span><br><span class="line">                    <span class="attr">has</span> <span class="string">no available connections. Setting this to false means an error will occur immediately when a client requests a connection and</span></span><br><span class="line">                    <span class="attr">none</span> <span class="string">are available.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Max Wait Time - The amount of time to wait for an available connection when Block When Exhausted is set to true.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Min Evictable Idle Time - The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Time Between Eviction Runs - The amount of time between attempting to evict idle connections from the pool.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Num Tests Per Eviction Run - The number of connections to tests per eviction attempt. A negative value indicates to test all connections.</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Test On Create - Whether or not connections should be tested upon creation (default false).</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Test On Borrow - Whether or not connections should be tested upon borrowing from the pool (default false).</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Test On Return - Whether or not connections should be tested upon returning to the pool (default false).</span></span><br><span class="line"></span><br><span class="line">            <span class="attr">Pool</span> <span class="string">- Test While Idle - Whether or not connections should be tested while idle (default true).</span></span><br><span class="line"></span><br><span class="line">        <span class="attr">&lt;cluster-provider&gt;</span></span><br><span class="line">            <span class="attr">&lt;id&gt;redis-provider&lt;/id&gt;</span></span><br><span class="line">            <span class="attr">&lt;class&gt;org.apache.nifi.redis.state.RedisStateProvider&lt;/class&gt;</span></span><br><span class="line">            <span class="meta">&lt;property</span> <span class="string">name="Redis Mode"&gt;Standalone&lt;/property&gt;</span></span><br><span class="line">            <span class="meta">&lt;property</span> <span class="string">name="Connection String"&gt;localhost:6379&lt;/property&gt;</span></span><br><span class="line">        <span class="attr">&lt;/cluster-provider&gt;</span></span><br><span class="line">    <span class="attr">--&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="attr">&lt;/stateManagement&gt;</span></span><br></pre></td></tr></table></figure>



<h2 id="问题"><a href="#问题" class="headerlink" title="问题"></a>问题</h2><ul>
<li>ERROR [main] o.a.nifi.properties.NiFiPropertiesLoader Clustered Configuration Found: Shared Sensitive Properties Key [nifi.sensitive.props.key] required for cluster nodes</li>
</ul>
<blockquote>
<p>设置<strong>nifi.sensitive.props.key</strong></p>
</blockquote>
<ul>
<li>nested exception is org.apache.nifi.encrypt.EncryptionException: Key Password length less than required [12]</li>
</ul>
<blockquote>
<p><strong>nifi.sensitive.props.key</strong>长度需要12位以上</p>
</blockquote>
<ul>
<li>ERROR [main] org.apache.nifi.web.server.JettyServer NiFi only supports one mode of HTTP or HTTPS operation, not both simultaneously. Check the nifi.properties file and ensure that either the HTTP hostname and port or the HTTPS hostname and port are empty</li>
</ul>
<blockquote>
<p><strong>nifi.web.http.host/port</strong>与<strong>nifi.web.https.host/port</strong>二选一</p>
</blockquote>
<ul>
<li>ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @729feae8</li>
</ul>
<blockquote>
<p>java版本问题，设置为nifi所支持的jdk版本</p>
</blockquote>
<ul>
<li>nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘flowController’: FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Unable to initialize Flow because NiFi was configured to start an Embedded Zookeeper server but failed to do so</li>
</ul>
<blockquote>
<p>检查zookeeper配置conf/zookeeper.properties</p>
<p>例如clientPort和server.N配置</p>
</blockquote>

    </div>

    
    
    
        

  <div class="followme">
    <p>欢迎关注我的其它发布渠道</p>

    <div class="social-list">

        <div class="social-item">
          <a target="_blank" class="social-link" href="/atom.xml">
            <span class="icon">
              <i class="fa fa-rss"></i>
            </span>

            <span class="label">RSS</span>
          </a>
        </div>
    </div>
  </div>


      <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/bigdata/" rel="tag"># bigdata</a>
              <a href="/tags/dataflow/" rel="tag"># dataflow</a>
              <a href="/tags/nifi/" rel="tag"># nifi</a>
          </div>

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/IT/it-bigdata-hive-lateralview/" rel="prev" title="hive - lateral view使用事例">
      <i class="fa fa-chevron-left"></i> hive - lateral view使用事例
    </a></div>
      <div class="post-nav-item">
    <a href="/IT/it-bigdata-nifi-mysql-cdc/" rel="next" title="Nifi Mysql CDC">
      Nifi Mysql CDC <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
          <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#环境信息"><span class="nav-number">1.</span> <span class="nav-text">环境信息</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#效果"><span class="nav-number">2.</span> <span class="nav-text">效果</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#配置"><span class="nav-number">3.</span> <span class="nav-text">配置</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#bin-nifi-env-sh"><span class="nav-number">3.1.</span> <span class="nav-text">bin&#x2F;nifi-env.sh</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#conf-nifi-properties"><span class="nav-number">3.2.</span> <span class="nav-text">conf&#x2F;nifi.properties</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#conf-zookeeper-properties"><span class="nav-number">3.3.</span> <span class="nav-text">conf&#x2F;zookeeper.properties</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#conf-state-management-xml"><span class="nav-number">3.4.</span> <span class="nav-text">conf&#x2F;state-management.xml</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#问题"><span class="nav-number">4.</span> <span class="nav-text">问题</span></a></li></ol></div>
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="李联友"
      src="/images/header.jpg">
  <p class="site-author-name" itemprop="name">李联友</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">31</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">8</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">25</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://github.com/lianyouli" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;lianyouli" rel="noopener" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a>
      </span>
  </div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2023</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">李联友</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://mist.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Mist</a> 强力驱动
  </div>

<script src="/js/jquery.min.js"> </script>

        








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/muse.js"></script>


<script src="/js/next-boot.js"></script>



<script src="/js/code-unfold.js"></script>


  















  

  

</body>
</html>
